Summary of Light Objects
C Summary
Constants
Light Types
#define kQ3LightTypeAmbient Q3_OBJECT_TYPE('a','m','b','n') #define kQ3LightTypeDirectional Q3_OBJECT_TYPE('d','r','c','t') #define kQ3LightTypePoint Q3_OBJECT_TYPE('p','n','t','l') #define kQ3LightTypeSpot Q3_OBJECT_TYPE('s','p','o','t')Light Attenuation Values
typedef enum TQ3AttenuationType { kQ3AttenuationTypeNone, kQ3AttenuationTypeInverseDistance, kQ3AttenuationTypeInverseDistanceSquared } TQ3AttenuationType;Light Fall-Off Values
typedef enum TQ3FallOffType { kQ3FallOffTypeNone, kQ3FallOffTypeLinear, kQ3FallOffTypeExponential, kQ3FallOffTypeCosine } TQ3FallOffType;Data Types
Light Data Structure
typedef struct TQ3LightData { TQ3Boolean isOn; float brightness; TQ3ColorRGB color; } TQ3LightData;Directional Light Data Structure
typedef struct TQ3DirectionalLightData { TQ3LightData lightData; TQ3Boolean castsShadows; TQ3Vector3D direction; } TQ3DirectionalLightData;Point Light Data Structure
typedef struct TQ3PointLightData { TQ3LightData lightData; TQ3Boolean castsShadows; TQ3AttenuationType attenuation; TQ3Point3D location; } TQ3PointLightData;Spot Light Data Structure
typedef struct TQ3SpotLightData { TQ3LightData lightData; TQ3Boolean castsShadows; TQ3AttenuationType attenuation; TQ3Point3D location; TQ3Vector3D direction; float hotAngle; float outerAngle; TQ3FallOffType fallOff; } TQ3SpotLightData;Light Objects Routines
Managing Lights
TQ3ObjectType Q3Light_GetType(TQ3LightObject light); TQ3Status Q3Light_GetState(TQ3LightObject light, TQ3Boolean *isOn); TQ3Status Q3Light_SetState(TQ3LightObject light, TQ3Boolean isOn); TQ3Status Q3Light_GetBrightness ( TQ3LightObject light, float *brightness); TQ3Status Q3Light_SetBrightness ( TQ3LightObject light, float brightness); TQ3Status Q3Light_GetColor(TQ3LightObject light, TQ3ColorRGB *color); TQ3Status Q3Light_SetColor(TQ3LightObject light, const TQ3ColorRGB *color); TQ3Status Q3Light_GetData(TQ3LightObject light, TQ3LightData *lightData); TQ3Status Q3Light_SetData(TQ3LightObject light, const TQ3LightData *lightData);Managing Ambient Light
TQ3LightObject Q3AmbientLight_New ( const TQ3LightData *lightData); TQ3Status Q3AmbientLight_GetData ( TQ3LightObject light, TQ3LightData *lightData); TQ3Status Q3AmbientLight_SetData ( TQ3LightObject light, const TQ3LightData *lightData);Managing Directional Lights
TQ3LightObject Q3DirectionalLight_New ( const TQ3DirectionalLightData *directionalLightData); TQ3Status Q3DirectionalLight_GetCastShadowsState ( TQ3LightObject light, TQ3Boolean *castsShadows); TQ3Status Q3DirectionalLight_SetCastShadowsState ( TQ3LightObject light, TQ3Boolean castsShadows); TQ3Status Q3DirectionalLight_GetDirection ( TQ3LightObject light, TQ3Vector3D *direction); TQ3Status Q3DirectionalLight_SetDirection ( TQ3LightObject light, const TQ3Vector3D *direction); TQ3Status Q3DirectionalLight_GetData ( TQ3LightObject light, TQ3DirectionalLightData *directionalLightData); TQ3Status Q3DirectionalLight_SetData ( TQ3LightObject light, const TQ3DirectionalLightData *directionalLightData);Managing Point Lights
TQ3LightObject Q3PointLight_New(const TQ3PointLightData *pointLightData); TQ3Status Q3PointLight_GetCastShadowsState ( TQ3LightObject light, TQ3Boolean *castsShadows); TQ3Status Q3PointLight_SetCastShadowsState ( TQ3LightObject light, TQ3Boolean castsShadows); TQ3Status Q3PointLight_GetAttenuation ( TQ3LightObject light, TQ3AttenuationType *attenuation); TQ3Status Q3PointLight_SetAttenuation ( TQ3LightObject light, TQ3AttenuationType attenuation); TQ3Status Q3PointLight_GetLocation ( TQ3LightObject light, TQ3Point3D *location); TQ3Status Q3PointLight_SetLocation ( TQ3LightObject light, const TQ3Point3D *location); TQ3Status Q3PointLight_GetData(TQ3LightObject light, TQ3PointLightData *pointLightData); TQ3Status Q3PointLight_SetData(TQ3LightObject light, const TQ3PointLightData *pointLightData);Managing Spot Lights
TQ3LightObject Q3SpotLight_New(const TQ3SpotLightData *spotLightData); TQ3Status Q3SpotLight_GetCastShadowsState ( TQ3LightObject light, TQ3Boolean *castsShadows); TQ3Status Q3SpotLight_SetCastShadowsState ( TQ3LightObject light, TQ3Boolean castsShadows); TQ3Status Q3SpotLight_GetAttenuation ( TQ3LightObject light, TQ3AttenuationType *attenuation); TQ3Status Q3SpotLight_SetAttenuation ( TQ3LightObject light, TQ3AttenuationType attenuation); TQ3Status Q3SpotLight_GetLocation ( TQ3LightObject light, TQ3Point3D *location); TQ3Status Q3SpotLight_SetLocation ( TQ3LightObject light, const TQ3Point3D *location); TQ3Status Q3SpotLight_GetDirection ( TQ3LightObject light, TQ3Vector3D *direction); TQ3Status Q3SpotLight_SetDirection ( TQ3LightObject light, const TQ3Vector3D *direction); TQ3Status Q3SpotLight_GetHotAngle ( TQ3LightObject light, float *hotAngle); TQ3Status Q3SpotLight_SetHotAngle ( TQ3LightObject light, float hotAngle); TQ3Status Q3SpotLight_GetOuterAngle ( TQ3LightObject light, float *outerAngle); TQ3Status Q3SpotLight_SetOuterAngle ( TQ3LightObject light, float outerAngle); TQ3Status Q3SpotLight_GetFallOff ( TQ3LightObject light, TQ3FallOffType *fallOff); TQ3Status Q3SpotLight_SetFallOff ( TQ3LightObject light, TQ3FallOffType fallOff); TQ3Status Q3SpotLight_GetData(TQ3LightObject light, TQ3SpotLightData *spotLightData); TQ3Status Q3SpotLight_SetData(TQ3LightObject light, const TQ3SpotLightData *spotLightData);Notices
kQ3NoticeInvalidAttenuationTypeUsingInternalDefaults Attenuation type is invalid